Hice una regla personalizada en los elementos del formulario. Pero cuando uso un mensaje de error personalizado con la promesa, está dando ese error. ¿Qué debo hacer para solucionarlo? Mis elementos de formulario:
Esa regla es verificar PriceMax y PriceMin. Y valide si PriceMax es mayor que PriceMin. Si no es así, debería mostrarme un mensaje de error. Así que usé Promise pero hizo una advertencia en la consola como: "Advertencia: la callback de llamada está en desuso. En su lugar, devuelva una promesa". Error en las reglas personalizadas"
<Form.Item name="PriceMin" label="Minimum fiyat" required> <Input type="number" name="Input" placeholder="En düşük fiyat" onChange={(e) => updateForm(e.target.value, "PriceMin")} /> </Form.Item> <Form.Item name="PriceMax" label="Maximum fiyat" dependencies={["PriceMin"]} rules={[ { required: true, message: "Please confirm your password!", }, ({ getFieldValue }) => ({ validator(rule, value) { if ( parseInt(value) < parseInt(getFieldValue("PriceMin")) ) { return Promise.reject( "Maksimum fiyat minimum fiyattan az olamaz!" //When i delete that row its fix warning, but i need have that error message. ); } }, }), ]} > <Input name="Input" type="number" disabled={ MyForm.getFieldValue("PriceMin") === undefined || MyForm.getFieldValue("PriceMin") === "" ? true : false } placeholder="En yüksek fiyat" onChange={(e) => updateForm(e.target.value, "PriceMax")} /> </Form.Item>Debes hacer como se muestra en el ejemplo.
https://ant.design/components/form/#components-form-demo-registro
El validador siempre debe devolver una promesa tanto en caso de éxito como de error.
({ getFieldValue }) => ({ validator(rule, value) { if (parseInt(value, 10) < parseInt(getFieldValue("PriceMin"), 10)) { return Promise.reject( "Maksimum fiyat minimum fiyattan az olamaz!"); } return Promise.resolve(); } })También te perdiste un parámetro radix en el parseInt